import { mount } from 'vue-test-utils'
import confirmBtn from 'src/views/button/src/confirmBtn.vue'

describe('confirmBtn', () => {
  it('confirmBtn 基础属性用例: { title, text, confirmType, confirmText, cancelText, beforeConfirm }', async () => {
    // 使用mount可以创建一个包涵被挂载和渲染的一个实例
    const vm = mount(confirmBtn, {
      propsData: {
        title: '提示',
        text: '确认?',
        confirmType: 'error',
        confirmText: '是',
        cancelText: '否',
        beforeConfirm: async function (e) {
          vm.vm.beforeConfirmSign = true
        }
      }
    })

    expect(vm.vm.title).to.be.equal('提示')
    expect(vm.vm.text).to.be.equal('确认?')
    expect(vm.vm.confirmType).to.be.equal('error')
    expect(vm.vm.confirmText).to.be.equal('是')
    expect(vm.vm.cancelText).to.be.equal('否')
    await vm.trigger('click')
    expect(vm.vm.beforeConfirmSign).to.be.equal(true)
  })

  it('confirmBtn 按钮插槽用例: { default }', async () => {
    // 使用mount可以创建一个包涵被挂载和渲染的一个实例
    const vm = mount(confirmBtn, {
      propsData: {
        title: '提示',
        text: '确认?',
        confirmType: 'error',
        confirmText: '是',
        cancelText: '否',
        type: 'text'
      },
      slots: {
        default: '<p>按钮插槽</p>'
      }
    })
    expect(vm.html().includes('<p>按钮插槽</p>')).to.be.equal(true)
  })
})
